package edu.mse.camel.client.events;

/**
 * Ideally we want the event to be immutable. The EventManager does not guarantee
 * synchronization of the events that it dispatches.
 * 
 * 
 * @author darpan
 *
 */
public interface IEvent {
	
	/**
	 * Unique ID to identify this event.
	 * 
	 * @return
	 */
	public String getEventID();
	
	/**
	 * For our synchronous delivery of events, we may return from the Event Manager
	 * as soon as one subscriber answers the query.
	 * The subscriber can set this value to true if it thinks it can answer the query.
	 * 
	 * @return
	 */
	public boolean isQueryAnswered();
	
}
